Real-time protocol (RTP) is a standardized packet format for delivering audio and video over IP networks. RTP is used in communication and entertainment systems that involve streaming media, such as telephony, videoconference applications, television services, and web-based push-to-talk-applications. Currently, two prevalent RTP packet formats are Interleaved/Bundled Packet Format (Bundled Packet Format) and Header-Free Packet Format.
Interleaved/Bundled Packet Format allows multiple data frames to be included by interleaving or bundling these frames together. Furthermore, Interleaved/Bundled Packet Format adds error correction information to a media stream, gaining protection from packet loss at the expense of increased bandwidth. Alternatively, a system may employ Header-Free Packet Format. Header-Free Packet Format is designed for maximum bandwidth efficiency and low latency.
An RTP coding scheme that uses EVRC-NW does allow mid-call changes to the Capacity Operating Point (COP) which affects coding and bandwidth. The EVRC-NW scheme does not support the transition between the Interleaved/Bundled Packet Format and the Header-Free Packet Format. Current RTP technology does not effectively support mid-call changes between the Interleaved/Bundled Packet Format and the Header-Free Packet Format.
Overview
Embodiments disclosed herein provide systems and methods for RTP streaming. In a particular embodiment, a method of operating a RTP server includes receiving a session request transferred by a user communication device indicating the user communication device has packet format switching capability, in response to the session request, transferring an acknowledgement to the user communication device wherein the acknowledgement comprises at least a header-free packet string length, transferring an RTP stream using bundled packet format, detecting a packet format switch triggering event, and transferring the RTP stream using header-free packet format for at least as long as the header-free packet string length.
In an another embodiment, a computer readable medium having program instructions stored thereon that, when executed by a computing system, directs the computing system to receive a session request from a user communication device indicating the user communication device has packet format switching capability, transfer an acknowledgement to the user communication device wherein the acknowledgement comprises at least a header-free packet string length, transfer a RTP stream using bundled packet format, transfer a packet format switch triggering event, and, upon transferring the packet format switch triggering event, transfer the RTP stream using header-free packet format for at least as long as the header-free packet string length.
In another embodiment, a RTP server system includes a communication interface configured to receive a session request from a user communication device, and a processing system configured to determine whether the session request indicates that the user communication device has packet format switching capability. If the user communication device has packet format switching capability, the communication interface is further configured to transfer an acknowledgement to the user communication device wherein the acknowledgement comprises at least a header-free packet string length, transfer a RTP stream using bundled packet format, transfer a packet format switch triggering event, and upon transferring the packet format switch triggering event, transferring the RTP stream using header-free packet format for at least as long as the header-free packet string length.